package cv.gzd.robot.service;

import cv.gzd.common.utils.Page;
import cv.gzd.robot.pojo.User;
import cv.gzd.robot.pojo.vo.UserQueryVo;



/**
 * @author Jun
 */
public interface UserService {
    /**
     * 分页动态查询
     * @param userVo
     * @return
     */
    Page<User> selectPageByUserQueryVo(UserQueryVo userVo);

    /**
     * 通过id查询user
     * @param id
     * @return
     */
    User selectUserByUid(Integer id);

    /**
     * 修改用户信息
     * @param user
     */
    void updateUser(User user);

    /**
     * 删除用户信息
     * @param id
     */
    void deleteUser(Integer id);

    /**
     * 插入用户信息
     * @param user
     */
    void saveUser(User user);

    /**
     * 验证用户名是否已经注册
     * @param username
     * @return
     */
    User selectUserByUserName(String username);

    /**
     * 更具用户名和密码查询用户
     * @param username
     * @param password
     * @return
     */
    User selectUserByUserNameAndPassword(String username, String password);

    /**
     * 项目初始化生成超级管理员
     */
    void initRoot();
}
